package com.yixun.mapper;

import com.yixun.entity.YxSysUser;
import org.apache.ibatis.annotations.*;
import org.springframework.data.util.ParameterTypes;

import java.util.HashMap;
import java.util.List;

/**
 * @author lbx create by 2021/6/1 9:48
 * @apiNote UserMapper
 */
@Mapper
public interface UserMapper {
    
    /**
     * @param username 用户名
     * @return com.yixun.entity.YxSysUser
     * @apiNote getUserByName 通过用户名查找用户 一般用于登录验证
     */
    @Select("select * from yx_sys_user where username = #{username}")
    YxSysUser getUserByName(@Param("username") String username);
    /**
     * @param map 封装用户字段
     * @return java.lang.Integer
     * @apiNote createUser 添加用户
     */
    Integer createUser(HashMap<String,String> map);
    /**
     * @param map 封装 当前页 和 每页条数
     * @return java.util.List<com.yixun.entity.YxSysUser>
     * @apiNote getUsersByPage 分页列表
     */
    List<YxSysUser> getUsersByPage(HashMap<String, Integer> map);
    /**
     * @param map TODO
     * @return Integer
     * @apiNote deactivateUser
     */
    Integer deactivateUser(HashMap<String, List<Long>> map);
    /**
     * @param map 用户ID 加密后的新密码
     * @return java.lang.Integer
     * @apiNote changePassword 修改密码
     */
    Integer changePassword(HashMap<String, Object> map);
    /**
     * @param map 用户字段封装
     * @return java.lang.Integer
     * @apiNote updateUser 修改密码
     */
    Integer updateUser(HashMap<String, Object> map);
}
